1. Field of the Invention
The present invention relates to a processing device such as a multifunction device for executing processing in accordance with programs obtained by download or other ways, to a method for controlling such a processing device and to others.
2. Description of the Related Art
In recent years, an operating system (OS) with a high-performance application program interface (API) has been adopted to various devices in addition to devices such as a personal computer and a workstation. Such an OS is employed in a multifunction peripheral (MFP) in which functions of a copier, a printer, a scanner, a fax machine, a document server or others are consolidated and in other devices.
When an API was not sophisticated, it was difficult and time-consuming to create programs for expanding functionality of these devices or for performing applied processing. The reason was that an understanding of device structures and program coding using a language such as a machine language were required.
However, adoption of a high-performance API enabled to invoke various functionality for performing processing merely by calling API functions that are prepared in advance. In this way, programming is performed easier compared to the conventional ways.
Accordingly, programs for expanding functionality of the devices or for performing applied processing, and service providers creating and providing these programs will increase in the future. This leads to an advantage that users can use devices more conveniently and, on the other hand, to a problem that a defective program or a malicious program executing undesirable processing to cause damage to users is easily distributed.
Additionally, it is expected that a program for updating important data or system construction of a device, both of which should be acquired and used only by a system administrator, will be readily created for distribution. If so, a user, who is not an intended user, can acquire such a program and perform an improper operation, so that important data may be lost or a device may break down.
In order to prevent these problems, some sorts of checks are required at the time of executing a program in a device.
According to an invention disclosed in Japanese unexamined patent publication No. 2002-169621, when an application program is downloaded to a terminal device, a user of the terminal device is authenticated. Then, only when the user is authenticated, the application program is downloaded to the terminal device. Likewise, according to inventions disclosed in Japanese unexamined patent publication Nos. 2002-132726 and 2001-103270, predetermined processing including download is performed when a user is identified.
However, according to these conventional inventions, program providers only confirm the identity (authentication) of a user intending to use a program. Accordingly, it is impossible to know as to whether or not the program is a defective program, a malicious program or a program operating improperly at the user's device.